The present invention relates to computer networking and more particularly to a method and apparatus for performing logical multicasting in a computer network.
Telecommunications networks deliver data by routing data units, such as Asynchronous Transfer Mode ("ATM") cells, from source to destination through switches. Each switch includes input/output ("I/O") ports through which the ATM cells are received and transmitted, respectively. The switch determines the appropriate output port to be employed for transmission of the cell based upon an address in the received cell header, such as the VPI/VCI address within the cell header of a received ATM cell.
Depending on the destination indicated in the cell header, it may be desirable to transmit the cell from multiple ports on the switch. Cells which enter a switch through one port and exit through one port are referred to as unicast cells. Cells which enter the switch through a single port and exit through multiple ports are known as multicast cells. While most existing switches are configured to handle unicast cells, not all switches are capable of multicast operation.
Two types of multicasting are known in the art; namely spatial multicasting and logical multicasting. Spatial multicasting involves the receipt of a cell at one input port of a network switch and the forwarding of copies of the cell out of plural output ports of the network switch. Each copy of the cell which is forwarded out of an output port in a spatial multicasting operation is provided with a unique VPI/VCI address. Logical multicasting involves the receipt of a cell at an input port of a network switch and the forwarding of plural copies of the cell out of a single output port of the network switch. Each of the leaves of the logical multicast cell is transmitted from the output port with a unique VPI/VCI address.
While many switches are capable of spatial multicast operation (transmission of single copies of a cell through multiple output ports), not all multicast switches are capable of logical multicast operation (transmission of multiple copies of a cell through a single output port). Logical multicast switches are known, but are more complex and costly than typical spatial-only multicast switches.
One technique for performing logical multicast of cells within a network switch is disclosed in U.S. patent application Ser. No. 08/710,673 filed Sep. 18, 1996 and assigned to the predecessor in interest of the present application. Tile technique therein disclosed provides a first copy of the cell to the desired output port. A second copy of the cell is provided to a dedicated loop back output port which causes the cell to be looped back to an input port dedicated to loop back. The cell provided to the loop-back input port is subsequently directed to the desired output port such that the first and second copies of the cell are serially transmitted from the single desired output port. The cell may be repeatedly provided to the loop-back port to permit the cell to be transmitted in a serial fashion from the desired output as many times as desired. This technique disadvantageously requires the dedication of one input port and one output port to the logical multicasting function.
Accordingly, it would be desirable to be able to handle logical multicast operation without specifically allocating input or output ports for the support of multicast operation. Additionally, it would be useful to provide multicast type capability in switches which do not support multicast operation by design.